package lambda;

import java.util.function.Consumer;
import java.util.function.Function;

/**
 * @author yangwenqi
 * @decs TODO
 * @date 2025/5/6
自定义函数模型拼接
 * 请使用Function进行函数模型的拼接，按照顺序需要执行的多个函数操作为：
 * String str = "张三,20";
 * 将字符串截取数字年龄部分，得到字符串；
 * 将上一步的字符串转换成为int类型的数字；
 * 将上一步的int数字加上100，得到结果int数字。
 */
public class FunctionDemo {
    public static void main(String[] args) {
        String str = "张三,20";
        String[] strs = str.split(",");
        int i=TestAndThen(new Function<String, Integer>() {
            @Override
            public Integer apply(String s) {
                return Integer.parseInt(s);
            }
        },new Function<Integer, Integer>() {
            @Override
            public Integer apply(Integer i) {
                return i+100;
            }
        },strs[1]);
        System.out.println(i);

    }
    public static int TestAndThen(Function<String, Integer> funtion1,
                                  Function<Integer,Integer> funtion2,String str){
        return funtion1.andThen(funtion2).apply(str);
    }

}
